package com.niit.scala

import java.util.Scanner

/*
总结：
  1.Scala的中Class和Java中的Class不一样。不能在Scala中的Class文件做为程序入口
  2.Scala可以完美的调用Java中类库
  3.如果多行代码写在一行内，则前边的语句必须加上分号，最后一条语句分号可以省略
  4.Scala的常量分为两种：1.字面值常量  2.自定义常量
  5.var用来定义变量 val用来定义常量  格式：var/val 变量名:变量类型 = 值
  6.Scala可以自动根据 值 来推断变量/常量的类型
  7.插入值表达式可以有效避免大量字符串的拼。 注意：在定义字符串之前添加s,在字符串中，可以使用${}来引用变量或者编写表达式
 */
object Base_01 {

  //如果想要运行代码，需要一个住方法  main
  def main(args: Array[String]): Unit = {
    //程序运行的入口
    //1.在控制台中打印Hello World!
    //println带有换行功能
    /*
    println("Hello World!")
    print("Hello World!")
    */

    //2.在控制中输入 你想对右边的人要说的话
   /*
    println("请输入 你想对右边的人要说的话：")
    println("我想对你说："+new Scanner(System.in).nextLine())
    */

    //3.分号的使用
    /*
    println("你好虚");println("你真棒");println("明天见")
      */

    //4.Scala中的字面值 --常量 不可该变量
    /*
    println(10) //10:整型 字面值常量
    println(-35)//-35:整型 字面值常量
    println(10.3)//10.3:浮点型 字面值常量
    println('a')//'a':字符常量 用单引号包裹起来的就是字符
    println("scala")//"scala": 字符串字面值常量
    println(true,false);//true,false:布尔常量 print打印可以打印多个值，每个值之间用逗号间隔
    println(null);//null:空常量
     */

    //5.变量
    /*
    Java: int a = 10
    Scala: var 变量:变量类型 = 值
           val:用来自定义常量
     */
/*
    val name:String = "Tom"
    var age:Int = 18
    println(name,age)
    age = 19
    println(name,age)
*/
    //6.类型推断
    /*
    var a = "Tony"
    val b = true
    println(a,b)
*/

    //7.插入值表达式
    /*
      语法：var/val 变量名 = s"字符串${变量/表达式}字符串"
      需求：请定义若干个变量，分别保存：张三 23 男。最后用一个字符串保存这些信息
     */
    //传统方式：
    val name = "张三"
    val age = 23
    val sex = "男"
    val res1 = "姓名："+name +",年龄："+age + ",性别："+sex
    println(res1)
    //插入值表达式
    val res2 =s"姓名：${name},年龄：${age},性别：${sex}"
    println(res2)
  }

}
